//package org.example;
//
//import org.example.generator.DataGenerator;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.SpringApplication;
//import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.boot.CommandLineRunner;
//
///**
// * 大规模数据生成示例
// *
// * 使用方法：
// * 1. 确保数据库连接配置正确
// * 2. 运行此应用
// * 3. 等待数据生成完成
// */
//@SpringBootApplication
//public class LargeScaleDataGenerationExample implements CommandLineRunner {
//
//    @Autowired
//    private DataGenerator dataGenerator;
//
//    public static void main(String[] args) {
//        System.out.println("=== 大规模数据生成示例 ===");
//        System.out.println("目标：50亿放款，20亿在途余额");
//        System.out.println("批量大小：2000条/批");
//        System.out.println("开始启动应用...");
//
//        SpringApplication.run(LargeScaleDataGenerationExample.class, args);
//    }
//
//    @Override
//    public void run(String... args) throws Exception {
//        System.out.println("\n=== 开始大规模数据生成 ===");
//
//        try {
//            long startTime = System.currentTimeMillis();
//
//            // 调用大规模数据生成方法
//            DataGenerator.DataGenerationResult result = dataGenerator.generateCompleteDataSetWithBatchInsert();
//
//            long endTime = System.currentTimeMillis();
//            long duration = endTime - startTime;
//
//            System.out.println("\n=== 数据生成完成 ===");
//            System.out.println("总耗时: " + (duration / 1000) + " 秒");
//            System.out.println("生成订单数: " + result.getOrders().size());
//            System.out.println("生成客户数: " + result.getCustomers().size());
//            System.out.println("生成还款计划数: " + result.getRepayPlans().size());
//
//            if (result.getOrders().size() > 0) {
//                System.out.println("平均处理速度: " + (result.getOrders().size() * 1000 / duration) + " 条/秒");
//            }
//
//        } catch (Exception e) {
//            System.err.println("数据生成失败: " + e.getMessage());
//            e.printStackTrace();
//        }
//    }
//}




